Programmable integrated circuits (ICs) may be programmed by a user to perform specified logic functions. One type of programmable IC, known as a field programmable gate array (FPGA), typically includes programmable resources that are arranged in an array of programmable tiles having programmable interconnects and programmable logic. The programmable interconnect typically includes a large number of interconnect lines of varying lengths interconnected by programmable interconnect points (PIPs). The programmable logic implements the logic of a circuit design using programmable elements that can include, for example, function generators, registers, arithmetic logic, and so forth. The programmable interconnect and programmable logic are typically programmed by loading a stream of configuration data into internal configuration memory cells that define how the programmable elements are configured. The configuration data can be read from memory (e.g., from an external PROM) or written into the FPGA by an external device. The collective states of the individual memory cells then determine the function of the FPGA.
During the process of developing a circuit design, the circuit design is generally tested to assess operation and performance prior to physical implementation and deployment. Testing of a circuit design may entail observing operation of circuit modules in an application specific integrated circuit (ASIC) implementation of the circuit design, simulating the circuit modules using a software-based simulation model, or emulating the circuit modules on a programmable IC. In emulating a circuit design, programmable resources on a programmable IC are configured to implement the circuit design. In some implementations, operation of a circuit design may be modeled using a combination of simulation, emulation, and/or operation of ASIC implemented circuit modules. As one example, a first circuit module of a circuit design may be simulated concurrently with emulation of a second circuit module of the circuit design. During testing, test data is provided to a simulated/emulated/ASIC-implemented circuit modules of the circuit design and data signals are captured from various nodes of the circuit design. Data signals may be input to and captured from a simulated circuit design by a software debugging tool configured to execute a simulation model of the circuit design. Data may be input to and captured from a circuit design emulated on a programmable IC or implemented as an ASIC using various circuits including, for example, an integrated logic analyzer circuit included in or connected to the programmable IC or ASIC die.